home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FishMarket 1.0
/
FishMarket v1.0.iso
/
fishies
/
051-075
/
disk_053
/
compiler
/
intexpr.c
< prev
next >
Wrap
C/C++ Source or Header
|
1992-05-06
|
2KB
|
54 lines
#include <stdio.h>
#include "c.h"
#include "expr.h"
#include "gen.h"
#include "cglbdec.h"
/*
* 68000 C compiler
*
* Copyright 1984, 1985, 1986 Matthew Brandt.
* all commercial rights reserved.
*
* This compiler is intended as an instructive tool for personal use. Any
* use for profit without the written consent of the author is prohibited.
*
* This compiler may be distributed freely for non-commercial use as long
* as this notice stays intact. Please forward any enhancements or questions
* to:
*
* Matthew Brandt
* Box 920337
* Norcross, Ga 30092
*/
intexpr() /* simple integer value */
{ int temp;
SYM *sp;
if(lastst == id) {
sp = search(lastid,lsyms.head);
if( sp == NULL)
sp = search(lastid,gsyms.head);
if(sp == NULL) {
error(ERR_UNDEFINED);
getsym();
return 0;
}
if(sp->storage_class != sc_const) {
error(ERR_SYNTAX);
getsym();
return 0;
}
getsym();
return sp->value.i;
}
else if(lastst == iconst) {
temp = ival;
getsym();
return temp;
}
getsym();
error(ERR_SYNTAX);
return 0;
}